1. Field of the Invention
The present invention relates in general to circuits for generating an identification code, and in particular, to a circuit that generates an identification code that is unique to each integrated circuit in which it is embedded.
2. Description of Related Art
Identification codes (IDs) have many purposes. For example an ID may be provided in printed form (e.g., user-names or bank account numbers), in graphical form (e.g., a picture on a driver license or a barcode on a product), in the form of a magnetic field (e.g., as provided by a magnetic strip on a credit card), as an electronic code conveyed by a signal. An ID can indicate the type of object bearing the ID. For example, a barcode-encoded UPC on a cereal box in a grocery store enables a grocer to determine the price of the goods when all boxes of the same kind of cereal are printed with the same barcode. An ID can distinguish a particular object from a population of similar objects. For example a user-name may distinguish one user of a computer network service from all other users of the service, or a bank account number may uniquely distinguish a customer account from all other bank accounts. An ID can confirm that the bearer of an ID is a genuine member of a population. For example, a photograph on a driver's license is a form of ID used to confirm that the bearer of the driver's license is the individual named on the driver's license.
Signals conveying binary strings are often used as IDs. For example, each instance of a particular type of integrated circuit (IC) chip can be made to generate an output signal conveying a unique binary coded ID. The ID generated by each IC may be used to distinguish that IC from among all other ICs, to verify that the particular IC is a legitimate copy of an IC and not an illegitimate counterfeit. The ID generated by an IC can also be used to identify any larger electronic system in which it is incorporated. “Radio Frequency Identification” tags (RFIDs) are ICs that produce radio frequency signals conveying binary IDs. When the RFIDs are attached to objects, such as for example merchandise in a retail store, packages for delivery, the unique radio frequency ID codes they generate can serve the same identification purposes as barcodes.
There are economic and other incentives for people to misuse IDs. For example, when an ID identifies goods as having been produced by a particular source, a source of counterfeit goods would want to provide the counterfeit goods with IDs that incorrectly identify them as having been produced by that particular source. Thus counterfeiters not only try to counterfeit goods, they also seek to counterfeit IDs that are associated with those goods. Accordingly, efforts have been made to render IDs difficult to copy or counterfeit. For example sophisticated procedures/algorithms and manufacturing processes are sometimes used to make IDs that are difficult for a counterfeiter to copy. A hologram is one example of a difficult to reproduce ID. Sometimes IDs are hidden or encoded in a way that makes it difficult for a would-be counterfeiter to discover them.
One way to foil an ID counterfeiter is to make it hard for the counterfeiter to determine which part of a code is actually used as an ID. U.S. Pat. No. 5,367,148, issued Nov. 22, 1994 to Storch et al., entitled COUNTERFEIT DETECTION USING ID NUMBERS WITH AT LEAST ONE RANDOM PORTION, teaches adding one or more “random” portions (each consisting of one or more digits) to an otherwise straightforward numerical ID, and of purposely using different presentations in the “external” appearance (e.g. as printed on the outside package box) of the ID and the “inner” appearance (e.g. inside the box on a customer return registration card), for detecting counterfeits. U.S. Pat. No. 6,212,638, issued Apr. 3, 2001 to Lee et al., entitled METHOD FOR GENERATING UNPREDICTABLE AUTHENTICATION IDENTIFICATION SYMBOLS, teaches use of special mathematical functions to generate sequences of unpredictable ID symbols, and to employ an unpredictable subset of the symbols from such a sequence for an actual ID.
The IDs described above are “static” in that, once a particular copy of an ID is generated, it stays the same each time the ID is presented. For example a barcode ID, once printed, never changes its appearance. A product serial number, once imprinted on the casing of a product or printed on a customer registration card, never changes its value. A user-name for logging into an on-line service remains the same once assigned.
U.S. Pat. No. 6,161,213, issued Dec. 12, 2000 to Keith Lofstrom, entitled SYSTEM FOR PROVIDING AN INTEGRATED CIRCUIT WITH A UNIQUE IDENTIFICATION, describes a circuit (currently marketed under the trademark “ICID”) that may be incorporated into an IC chip for generating a unique ID for each IC in which it is embedded without requiring each IC to be separately processed. The ICID circuit includes an array of identification (ID) cells, and each ID cell controls the state of a separate bit of the ID to be generated based on relative doping levels within channels of transistors forming a part of the ID cell. Since the doping level randomly varies from transistor-to-transistor within an IC as a result of random process variations, the bit sequence of the ID produced by each copy of the ICID circuit is randomly established as the IC is fabricated. When the ID has a sufficiently large number of bits, the ID generated by each copy of the ICID circuit is highly likely to be unique even though a very large number of copies of the ICID circuit are manufactured.
The doping levels of the transistors of one or more of the ID cells of any given copy of an ICID circuit may be so similar that environmental variables such as ambient temperature and supply voltages can influence the ID bit state controlled by those ID cells. Thus, one characteristic of binary IDs produced by the ICID circuit is that a very small percentage of the bits of the ID it generates may not always be of the same state each time the ICID circuit generates the ID; the state of one or more bits of an ID may “drift” in that it changes from instance-to-instance of the generated ID. Thus, the ID that the ICID circuit produces is “dynamic” in that it does not always have exactly the same value each time it is generated. However, Lofstrom teaches that even though a few bits of each individual ID may drift, the ID can still be used to uniquely identify each IC from among a large population of ICIDs producing such IDs if the ID has a sufficiently large number of bits. Lofstrom teaches that two sufficiently long IDs may be considered with a high degree of confidence to have been produced by the same copy of an ICID circuit even though a few of their corresponding bits are not of matching states.
U.S. Patent Publication 2003/0151539 filed Aug. 14, 2003 by Wuidart et al and U.S. Patent Publication 2003/0151942 filed Aug. 14, 2003 by Bardouillet et al also describe a circuit that may be incorporated into an IC for generating an ID. The circuit includes a set of ID cells, each of which produces an output bit of a state that is a function of random parametric variations in the magnitudes of a pair of polysilicon resistors within each ID cell. The resistors are incorporated into a circuit outputting a 1 or a 0 bit depending on which resistor has lowest resistance when power is initially applied to the circuit. The bits produced by all of the ID cells form the output ID. In some cases, the resistance of the two resistors of a ID cell may be so similar that the ID cell's output bit may not always be of the same state every time power is applied to the ID cell. To stabilize the ID, the system temporarily increases the amount of current passing through the ID cell having the lowest resistance when the circuit is first energized, and the increased current permanently lowers the resistance of that resistor so that it will always be lower than that of the other resistor. Thereafter the ID cell will always produce the same output bit. This ID circuit produces an ID in which none of the bits vary in state, but can require a separate pin on the IC to supply high voltage power to the ID circuit to temporarily increase the supply voltage to the ID circuit to permanently reduce the resistance of the lowest resistance resistor in each ID cell.